找出陣列中重複的元素
input1 = [1,3,4,2,2]
output1 = 2
input2 = [3,1,3,4,2]
output2 = 3
用 filter 撈元素與索引,配合 indexOf 去查元素索引,把查出的元素索引與一起撈出的 index 比對,如果不相等就代表陣列中有重複元素,因為 indexOf 查出的元素會是第一次出現在陣列中的位置
input1 = [1,3,4,2,2]
output1 = 2
input2 = [3,1,3,4,2]
output2 = 3
function findDuplicate (ary){
a = ary.filter( (x,index) => { if(ary.indexOf(x) !== index){ return x }})
return a
}
function expect(a,b){
console.log( a == b )
}
expect(findDuplicate(input1),output1)
這個時候會發現,測試一直印出 false,直到我 console.log(a) 才發現, a 是陣列,所以把 a 轉成數字
input1 = [1,3,4,2,2]
output1 = 2
input2 = [3,1,3,4,2]
output2 = 3
function findDuplicate (ary){
a= ary.filter( (x,index) => { if(ary.indexOf(x) !== index){ return x }})
return parseInt(a)
}
function expect(a,b){
console.log( a == b )
}
expect(findDuplicate(input1),output1)
今天到此為止,有任何問題請在下方留言或透過email、GitHub聯絡我,感謝閱讀
Daily kitty